<!DOCTYPE html>
<html lang="en" dir="auto">

<head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="index, follow">
<title>SML v3.5.0 | Satisfactory Modding</title>
<meta name="keywords" content="">
<meta name="description" content="Release Data: Aug 5, 2023
Official links: Site links: Satisfactory Version: U8 CL240610
Changelog:
Highlights Unreal Engine 5 support Updated project to CL240610 Mods are now placed in the Mods folder instead of the Plugins folder Added per-save mod settings: Mod Savegame Settings (or &ldquo;Session Settings&rdquo;) Configured at game creation, or mid-game from the pause menu&rsquo;s Mod Savegame Settings button Replaced enableCheatConsoleCommands by &ldquo;Force Enable Cheats&rdquo; Mod Savegame Setting Added mod custom game maps support with a custom New Game menu Map selection only appears when there is more than one map to pick from &lsquo;Mods&rsquo; button is now integrated in the game&rsquo;s pause menu list (below Server Manager) instead of below the Respawn button Localization support for SML, SMLEditor, and ExampleMod.">
<meta name="author" content="VisualMOD">
<link rel="canonical" href="https://visualmod.gitee.io/satisfactory-mod/en/loader/v3.5.0/">
<link crossorigin="anonymous" href="/satisfactory-mod/assets/css/stylesheet.fda8facc5b630094d5b2968a3585893846cba1d07e967f92a271b6a941eb2d90.css" integrity="sha256-/aj6zFtjAJTVspaKNYWJOEbLodB&#43;ln&#43;SonG2qUHrLZA=" rel="preload stylesheet" as="style">
<script defer crossorigin="anonymous" src="/satisfactory-mod/assets/js/highlight.f413e19d0714851f6474e7ee9632408e58ac146fbdbe62747134bea2fa3415e0.js" integrity="sha256-9BPhnQcUhR9kdOfuljJAjlisFG&#43;9vmJ0cTS&#43;ovo0FeA="
    onload="hljs.initHighlightingOnLoad();"></script>
<link rel="icon" href="https://visualmod.gitee.io/satisfactory-mod/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="https://visualmod.gitee.io/satisfactory-mod/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://visualmod.gitee.io/satisfactory-mod/favicon-32x32.png">
<link rel="apple-touch-icon" href="https://visualmod.gitee.io/satisfactory-mod/apple-touch-icon.png">
<link rel="mask-icon" href="https://visualmod.gitee.io/satisfactory-mod/safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" hreflang="zh" href="https://visualmod.gitee.io/satisfactory-mod/loader/v3.5.0/">
<link rel="alternate" hreflang="en" href="https://visualmod.gitee.io/satisfactory-mod/en/loader/v3.5.0/">
<noscript>
    <style>
        #theme-toggle,
        .top-link {
            display: none;
        }

    </style>
    <style>
        @media (prefers-color-scheme: dark) {
            :root {
                --theme: rgb(29, 30, 32);
                --entry: rgb(46, 46, 51);
                --primary: rgb(218, 218, 219);
                --secondary: rgb(155, 156, 157);
                --tertiary: rgb(65, 66, 68);
                --content: rgb(196, 196, 197);
                --hljs-bg: rgb(46, 46, 51);
                --code-bg: rgb(55, 56, 62);
                --border: rgb(51, 51, 51);
            }

            .list {
                background: var(--theme);
            }

            .list:not(.dark)::-webkit-scrollbar-track {
                background: 0 0;
            }

            .list:not(.dark)::-webkit-scrollbar-thumb {
                border-color: var(--theme);
            }
        }

    </style>
</noscript><meta property="og:title" content="SML v3.5.0" />
<meta property="og:description" content="Release Data: Aug 5, 2023
Official links: Site links: Satisfactory Version: U8 CL240610
Changelog:
Highlights Unreal Engine 5 support Updated project to CL240610 Mods are now placed in the Mods folder instead of the Plugins folder Added per-save mod settings: Mod Savegame Settings (or &ldquo;Session Settings&rdquo;) Configured at game creation, or mid-game from the pause menu&rsquo;s Mod Savegame Settings button Replaced enableCheatConsoleCommands by &ldquo;Force Enable Cheats&rdquo; Mod Savegame Setting Added mod custom game maps support with a custom New Game menu Map selection only appears when there is more than one map to pick from &lsquo;Mods&rsquo; button is now integrated in the game&rsquo;s pause menu list (below Server Manager) instead of below the Respawn button Localization support for SML, SMLEditor, and ExampleMod." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://visualmod.gitee.io/satisfactory-mod/en/loader/v3.5.0/" /><meta property="article:section" content="loader" />
<meta property="article:published_time" content="2023-08-06T12:00:00+08:00" />
<meta property="article:modified_time" content="2023-08-06T12:00:00+08:00" />

<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="SML v3.5.0"/>
<meta name="twitter:description" content="Release Data: Aug 5, 2023
Official links: Site links: Satisfactory Version: U8 CL240610
Changelog:
Highlights Unreal Engine 5 support Updated project to CL240610 Mods are now placed in the Mods folder instead of the Plugins folder Added per-save mod settings: Mod Savegame Settings (or &ldquo;Session Settings&rdquo;) Configured at game creation, or mid-game from the pause menu&rsquo;s Mod Savegame Settings button Replaced enableCheatConsoleCommands by &ldquo;Force Enable Cheats&rdquo; Mod Savegame Setting Added mod custom game maps support with a custom New Game menu Map selection only appears when there is more than one map to pick from &lsquo;Mods&rsquo; button is now integrated in the game&rsquo;s pause menu list (below Server Manager) instead of below the Respawn button Localization support for SML, SMLEditor, and ExampleMod."/>


<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [, 
    {
      "@type": "ListItem",
      "position":  4 ,
      "name": "SML v3.5.0",
      "item": "https://visualmod.gitee.io/satisfactory-mod/en/loader/v3.5.0/"
    }
  ]
}
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "SML v3.5.0",
  "name": "SML v3.5.0",
  "description": "Release Data: Aug 5, 2023\nOfficial links: Site links: Satisfactory Version: U8 CL240610\nChangelog:\nHighlights Unreal Engine 5 support Updated project to CL240610 Mods are now placed in the Mods folder instead of the Plugins folder Added per-save mod settings: Mod Savegame Settings (or \u0026ldquo;Session Settings\u0026rdquo;) Configured at game creation, or mid-game from the pause menu\u0026rsquo;s Mod Savegame Settings button Replaced enableCheatConsoleCommands by \u0026ldquo;Force Enable Cheats\u0026rdquo; Mod Savegame Setting Added mod custom game maps support with a custom New Game menu Map selection only appears when there is more than one map to pick from \u0026lsquo;Mods\u0026rsquo; button is now integrated in the game\u0026rsquo;s pause menu list (below Server Manager) instead of below the Respawn button Localization support for SML, SMLEditor, and ExampleMod.",
  "keywords": [
    
  ],
  "articleBody": "Release Data: Aug 5, 2023\nOfficial links: Site links: Satisfactory Version: U8 CL240610\nChangelog:\nHighlights Unreal Engine 5 support Updated project to CL240610 Mods are now placed in the Mods folder instead of the Plugins folder Added per-save mod settings: Mod Savegame Settings (or “Session Settings”) Configured at game creation, or mid-game from the pause menu’s Mod Savegame Settings button Replaced enableCheatConsoleCommands by “Force Enable Cheats” Mod Savegame Setting Added mod custom game maps support with a custom New Game menu Map selection only appears when there is more than one map to pick from ‘Mods’ button is now integrated in the game’s pause menu list (below Server Manager) instead of below the Respawn button Localization support for SML, SMLEditor, and ExampleMod. If you’d like to translate, join the Discord and grab the translator role from #rules then check out the channels that grants. Removed -Username launch argument, UE5 changed the system this argument used to function and a replacement has not yet been created Fixed VRAM leak from retrieving a mod’s icon multiple times Added enableFunchookLogging config option added to enable troubleshooting rare crash For Mod Developers Read the guide we wrote to summarize new features and help you update your mod! https://docs-dev.ficsit.app/satisfactory-modding/latest/Development/UpdatingFromSml34.html\nAdded mod creation and uplugin editing wizard with template support in Alpakit. Use this now instead of New Plugin and editing the uplugin manually. Mods can offer their own templates New Research Tree Editor utility included in SMLEditor Numerous extra examples in ExampleMod, including multiplayer compatibility code samples, research trees, and a custom level New utility - Blueprint Simple Construction Script hooks (docs) New utility - Widget Blueprint hooks (docs) New utility blueprint nodes (docs) Sort Array (via comparator function) Find Parent Widget of Class (for use in widget blueprint hooking) Find Child Widgets of Class (for use in widget blueprint hooking) SML Debugger additions: -WaitForDebugger, break on ensure and error (-NoExceptionHandler recommended when using debugger) Added Exploration Resource Sink track DataTable support Fixed struct reflection passing UScriptStruct* instead of struct pointer Fixed generated mod config structs being unusable Enable bCanEverTick on blueprints implementing Factory_Tick Improved logging when BindOnBPFunction fails (#172) Fixed Alpakit support for nested mods/plugins (ex. Mods/FolderName/Plugin1 and Mods/FolderName/Plugin2) Updated C++ module dependencies to silence UBT warnings at build time (#164) Prevent UE from launching Steam VR or Oculus VR when opening the starter project Moved Utility textures to SMLEditor (a2f3b79) Added Mod Module validation (401983a2414a6a8463501ce9d971ab78b9819b1c) Save Metadata header no longer writes indents (7c58bf736947d0f18d0083e482d9206f4a7c3849) ",
  "wordCount" : "410",
  "inLanguage": "en",
  "datePublished": "2023-08-06T12:00:00+08:00",
  "dateModified": "2023-08-06T12:00:00+08:00",
  "author":{
    "@type": "Person",
    "name": "VisualMOD"
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://visualmod.gitee.io/satisfactory-mod/en/loader/v3.5.0/"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Satisfactory Modding",
    "logo": {
      "@type": "ImageObject",
      "url": "https://visualmod.gitee.io/satisfactory-mod/favicon.ico"
    }
  }
}
</script>
</head>

<body class="" id="top">
<script>
    if (localStorage.getItem("pref-theme") === "dark") {
        document.body.classList.add('dark');
    } else if (localStorage.getItem("pref-theme") === "light") {
        document.body.classList.remove('dark')
    } else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
        document.body.classList.add('dark');
    }

</script>

<header class="header">
    <nav class="nav">
        <div class="logo">
            <a href="https://visualmod.gitee.io/satisfactory-mod/en/" accesskey="h" title="Satisfactory Modding (Alt + H)">Satisfactory Modding</a>
            <div class="logo-switches">
                <button id="theme-toggle" accesskey="t" title="(Alt + T)">
                    <svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
                        fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
                        stroke-linejoin="round">
                        <path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
                    </svg>
                    <svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
                        fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
                        stroke-linejoin="round">
                        <circle cx="12" cy="12" r="5"></circle>
                        <line x1="12" y1="1" x2="12" y2="3"></line>
                        <line x1="12" y1="21" x2="12" y2="23"></line>
                        <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
                        <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
                        <line x1="1" y1="12" x2="3" y2="12"></line>
                        <line x1="21" y1="12" x2="23" y2="12"></line>
                        <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
                        <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
                    </svg>
                </button>
                <ul class="lang-switch"><li>|</li>
                    <li>
                        <a href="https://visualmod.gitee.io/satisfactory-mod/" title="简体中文"
                            aria-label="简体中文">简体中文</a>
                    </li>
                </ul>
            </div>
        </div>
        <ul id="menu">
            <li>
                <a href="https://visualmod.gitee.io/satisfactory-mod/en/manager" title="Mod Manager">
                    <span>Mod Manager</span>
                </a>
            </li>
            <li>
                <a href="https://visualmod.gitee.io/satisfactory-mod/en/loader" title="Mod Loader">
                    <span>Mod Loader</span>
                </a>
            </li>
            <li>
                <a href="https://visualmod.gitee.io/satisfactory-mod/home/modlist" title="⚙ Mod List">
                    <span>⚙ Mod List</span>
                </a>
            </li>
            <li>
                <a href="https://visualmod.gitee.io/satisfactory-mod/en/search" title="🔍Search (Alt &#43; /)" accesskey=/>
                    <span>🔍Search</span>
                </a>
            </li>
        </ul>
    </nav>
</header>
<main class="main">

<article class="post-single">
  <header class="post-header">
    <div class="breadcrumbs"><a href="https://visualmod.gitee.io/satisfactory-mod/en/">Home</a></div>
    <h1 class="post-title entry-hint-parent">
      SML v3.5.0
    </h1>
    <div class="post-meta"><span title='2023-08-06 12:00:00 +0800 CST'>August 6, 2023</span>&nbsp;·&nbsp;VisualMOD&nbsp;|&nbsp;Translations:
<ul class="i18n_list">
    <li>
        <a href="https://visualmod.gitee.io/satisfactory-mod/loader/v3.5.0/">简体中文</a>
    </li>
</ul>

</div>
  </header> 
  <div class="post-content"><p>Release Data: Aug 5, 2023</p>
<p>Official links: <a class="deco-none" href="https://github.com/satisfactorymodding/SatisfactoryModLoader/releases/tag/v3.5.0" target="_blank"><img class="inline-img in-text"height="24" src="https://visualmod.gitee.io/satisfactory-mod/images/github.svg" alt="SatisfactoryModLoader v3.5.0" style="object-fit:contain"></a>   <a class="deco-none" href="https://github.com/satisfactorymodding/SatisfactoryModLoader/releases/download/v3.5.0/SML.zip" target="_blank"><img class="inline-img in-text"height="24" src="https://visualmod.gitee.io/satisfactory-mod/images/zip.svg" alt="SML.zip" style="object-fit:contain"></a></p>
<p>Site links: <a class="deco-none" href="https://gitee.com/visualmod/satisfactory-mod/releases/download/sml-v3.5.0/SML.zip" target="_blank"><img class="inline-img in-text"height="24" src="https://visualmod.gitee.io/satisfactory-mod/images/gitee.svg" alt="SML.zip" style="object-fit:contain"></a>   <a class="deco-none" href="https://smr.hustag.cn/smr/sml/download/v3.5.0/SML.zip" target="_blank"><img class="inline-img in-text"height="24" src="https://visualmod.gitee.io/satisfactory-mod/images/txcloud.svg" alt="SML.zip" style="object-fit:contain"></a></p>
<p>Satisfactory Version: U8 CL240610</p>
<hr>
<p>Changelog:</p>
<h1 id="highlights">Highlights<a hidden class="anchor" aria-hidden="true" href="#highlights">#</a></h1>
<ul>
<li>Unreal Engine 5 support</li>
<li>Updated project to CL240610</li>
<li>Mods are now placed in the Mods folder instead of the Plugins folder</li>
<li>Added per-save mod settings: Mod Savegame Settings (or &ldquo;Session Settings&rdquo;)
<ul>
<li>Configured at game creation, or mid-game from the pause menu&rsquo;s Mod Savegame Settings button</li>
</ul>
</li>
<li>Replaced <code>enableCheatConsoleCommands</code> by &ldquo;Force Enable Cheats&rdquo; Mod Savegame Setting</li>
<li>Added mod custom game maps support with a custom New Game menu
<ul>
<li>Map selection only appears when there is more than one map to pick from</li>
</ul>
</li>
<li>&lsquo;Mods&rsquo; button is now integrated in the game&rsquo;s pause menu list (below Server Manager) instead of below the Respawn button</li>
<li>Localization support for SML, SMLEditor, and ExampleMod. If you&rsquo;d like to translate, join the Discord and grab the translator role from #rules then check out the channels that grants.</li>
<li>Removed <code>-Username</code> launch argument, UE5 changed the system this argument used to function and a replacement has not yet been created</li>
<li>Fixed VRAM leak from retrieving a mod&rsquo;s icon multiple times</li>
<li>Added <code>enableFunchookLogging</code> config option added to enable troubleshooting rare crash</li>
</ul>
<h1 id="for-mod-developers">For Mod Developers<a hidden class="anchor" aria-hidden="true" href="#for-mod-developers">#</a></h1>
<p>Read the guide we wrote to summarize new features and help you update your mod!
<a href="https://docs-dev.ficsit.app/satisfactory-modding/latest/Development/UpdatingFromSml34.html">https://docs-dev.ficsit.app/satisfactory-modding/latest/Development/UpdatingFromSml34.html</a></p>
<ul>
<li>Added mod creation and uplugin editing wizard with template support in Alpakit. Use this now instead of New Plugin and editing the uplugin manually.
<ul>
<li>Mods can offer their own templates</li>
</ul>
</li>
<li>New <a href="https://docs.ficsit.app/satisfactory-modding/latest/Development/UpdatingFromSml34.html#_research_tree_editor">Research Tree Editor</a>  utility included in SMLEditor</li>
<li>Numerous extra examples in ExampleMod, including multiplayer compatibility code samples, research trees, and a custom level</li>
<li>New utility - Blueprint Simple Construction Script hooks (<a href="https://docs.ficsit.app/satisfactory-modding/latest/Development/ModLoader/SimpleConstructionScript.html">docs</a>)</li>
<li>New utility - Widget Blueprint hooks (<a href="https://docs.ficsit.app/satisfactory-modding/latest/Development/ModLoader/WidgetBlueprintHooks.html">docs</a>)</li>
<li>New utility blueprint nodes (<a href="https://docs.ficsit.app/satisfactory-modding/latest/Development/ModLoader/BlueprintInterface.html">docs</a>)
<ul>
<li>Sort Array (via comparator function)</li>
<li>Find Parent Widget of Class (for use in widget blueprint hooking)</li>
<li>Find Child Widgets of Class (for use in widget blueprint hooking)</li>
</ul>
</li>
<li>SML Debugger additions: <code>-WaitForDebugger</code>, break on ensure and error (<code>-NoExceptionHandler</code> recommended when using debugger)</li>
<li>Added Exploration Resource Sink track DataTable support</li>
<li>Fixed struct reflection passing UScriptStruct* instead of struct pointer</li>
<li>Fixed generated mod config structs being unusable</li>
<li>Enable bCanEverTick on blueprints implementing Factory_Tick</li>
<li>Improved logging when BindOnBPFunction fails (#172)</li>
<li>Fixed Alpakit support for nested mods/plugins (ex. <code>Mods/FolderName/Plugin1</code> and <code>Mods/FolderName/Plugin2</code>)</li>
<li>Updated C++ module dependencies to silence UBT warnings at build time (#164)</li>
<li>Prevent UE from launching Steam VR or Oculus VR when opening the starter project</li>
<li>Moved Utility textures to SMLEditor (a2f3b79)</li>
<li>Added Mod Module validation (401983a2414a6a8463501ce9d971ab78b9819b1c)</li>
<li>Save Metadata header no longer writes indents (7c58bf736947d0f18d0083e482d9206f4a7c3849)</li>
</ul>


  </div>

  <footer class="post-footer">
    <ul class="post-tags">
    </ul>
  </footer>
</article>
    </main>
    
<footer class="footer">
    <span>&copy; 2023 <a href="https://visualmod.gitee.io/satisfactory-mod/en/">Satisfactory Modding</a></span>
    <span>
        Powered by
        <a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
        <a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
    </span>
</footer>
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
        <path d="M12 6H0l6-6z" />
    </svg>
</a>

<script>
    let menu = document.getElementById('menu')
    if (menu) {
        menu.scrollLeft = localStorage.getItem("menu-scroll-position");
        menu.onscroll = function () {
            localStorage.setItem("menu-scroll-position", menu.scrollLeft);
        }
    }

    document.querySelectorAll('a[href^="#"]').forEach(anchor => {
        anchor.addEventListener("click", function (e) {
            e.preventDefault();
            var id = this.getAttribute("href").substr(1);
            if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
                    behavior: "smooth"
                });
            } else {
                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
            }
            if (id === "top") {
                history.replaceState(null, null, " ");
            } else {
                history.pushState(null, null, `#${id}`);
            }
        });
    });

</script>
<script>
    var mybutton = document.getElementById("top-link");
    window.onscroll = function () {
        if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
            mybutton.style.visibility = "visible";
            mybutton.style.opacity = "1";
        } else {
            mybutton.style.visibility = "hidden";
            mybutton.style.opacity = "0";
        }
    };

</script>
<script>
    document.getElementById("theme-toggle").addEventListener("click", () => {
        if (document.body.className.includes("dark")) {
            document.body.classList.remove('dark');
            localStorage.setItem("pref-theme", 'light');
        } else {
            document.body.classList.add('dark');
            localStorage.setItem("pref-theme", 'dark');
        }
    })

</script>
<script>
    document.querySelectorAll('pre > code').forEach((codeblock) => {
        const container = codeblock.parentNode.parentNode;

        const copybutton = document.createElement('button');
        copybutton.classList.add('copy-code');
        copybutton.innerHTML = 'copy';

        function copyingDone() {
            copybutton.innerHTML = 'copied!';
            setTimeout(() => {
                copybutton.innerHTML = 'copy';
            }, 2000);
        }

        copybutton.addEventListener('click', (cb) => {
            if ('clipboard' in navigator) {
                navigator.clipboard.writeText(codeblock.textContent);
                copyingDone();
                return;
            }

            const range = document.createRange();
            range.selectNodeContents(codeblock);
            const selection = window.getSelection();
            selection.removeAllRanges();
            selection.addRange(range);
            try {
                document.execCommand('copy');
                copyingDone();
            } catch (e) { };
            selection.removeRange(range);
        });

        if (container.classList.contains("highlight")) {
            container.appendChild(copybutton);
        } else if (container.parentNode.firstChild == container) {
            
        } else if (codeblock.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName == "TABLE") {
            
            codeblock.parentNode.parentNode.parentNode.parentNode.parentNode.appendChild(copybutton);
        } else {
            
            codeblock.parentNode.appendChild(copybutton);
        }
    });
</script>
</body>

</html>
